
<html><HEAD>
<LINK REL=STYLESHEET HREF="default.css" TYPE="text/css">
<TITLE>
Deploying applications, components, and supporting files</TITLE>
</HEAD>
<BODY>

<!-- Header -->
<p class="ancestor" align="right"><A HREF="apptechp243.htm">Previous</A>&nbsp;&nbsp;<A HREF="apptechp245.htm" >Next</A>
<!-- End Header -->
<A NAME="BABCDEAE"></A><h1>Deploying applications, components, and supporting files</h1>
<A NAME="TI6787"></A><p>Regardless of the type of application you are deploying, you
must include any supporting files such as dynamic libraries, resources
like BMP and ICO files, online Help files, and initialization files.
Each application type requires a different set of supporting files.
The PowerBuilder runtime files, such as <i>pbvm115.dll</i> and <i>pbdwe115.dll</i>,
and PowerBuilder database interfaces such as <i>pbsnc115.dll</i> and <i>pbo10115.dll</i>,
can be freely distributed with your application with no licensing
fee.</p>
<A NAME="TI6788"></A><h4>Planning for deployment</h4>
<A NAME="TI6789"></A><p><A HREF="apptechp239.htm#CDEDDAFI">Chapter 36, "Packaging an Application
for Deployment,"</A> helps you make decisions about deploying
a PowerBuilder executable application, such as whether to use dynamic
libraries, Pcode or machine code, and resource files. It also provides
a checklist to make sure you install all the required pieces. </p>
<A NAME="TI6790"></A><p>If you are deploying a Web application or a transaction server
component, you will find the information about PowerBuilder dynamic
libraries (PBDs) and PowerBuilder resource files (PBRs) in that
chapter helpful. You should also read the documentation for specific
types of applications, components, or plug-ins elsewhere
in this book or in the book listed in <A HREF="apptechp244.htm#CHDFHBFG">Table 37-1</A><i></i>
. </p>
<A NAME="CHDFHBFG"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><caption>Table 37-1: Additional deployment documentation</caption>
<tr><th  rowspan="1"  ><A NAME="TI6791"></A>Application type</th>
<th  rowspan="1"  ><A NAME="TI6792"></A>Where to find
information</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6793"></A><ABBR title = "e a server" >EAServer</ABBR> components</td>
<td  rowspan="1"  ><A NAME="TI6794"></A><A HREF="apptechp146.htm#CCJCFEBI">"Deploying a component to <ABBR title = "e a server" >EAServer</ABBR>"</A></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6795"></A>Application server components</td>
<td  rowspan="1"  ><A NAME="TI6796"></A>The <i>Users Guide</i>
 in
the PowerBuilder Application Server Plug-in documentation set.</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6797"></A>.NET applications and components</td>
<td  rowspan="1"  ><A NAME="TI6798"></A><i>Deploying Applications and
Components to .NET</i>
</td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6799"></A>Web DataWindow and DataWindow Web control
for ActiveX</td>
<td  rowspan="1"  ><A NAME="TI6800"></A><i>DataWindow Programmers Guide</i>
</td>
</tr>
</table>
<A NAME="TI6801"></A><h4>Finding information in this chapter</h4>
<A NAME="TI6802"></A><p>This chapter is intended to help you write installation programs
using a third-party software package that creates installation
configurations. It tells you which files each computer needs, where
you can find the files, where they should be installed, and what
registry settings need to be made. PowerBuilder Enterprise also
provides a tool, described in <A HREF="apptechp245.htm#BAJDBEAB">"PowerBuilder Runtime Packager"</A>, to help you package the files
your application needs. </p>
<A NAME="TI6803"></A><p>Use <A HREF="apptechp244.htm#BAJBIECB">Table 37-2</A> to
locate information about the specific files you need to deploy with
your application.</p>
<A NAME="BAJBIECB"></A><table cellspacing=0 cellpadding=6 border=1 frame="void" rules="all"><caption>Table 37-2: PowerBuilder files required for
deployment</caption>
<tr><th  rowspan="1"  ><A NAME="TI6804"></A>Scenario</th>
<th  rowspan="1"  ><A NAME="TI6805"></A>See these
sections</th>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6806"></A>All PowerBuilder client applications</td>
<td  rowspan="1"  ><A NAME="TI6807"></A><A HREF="apptechp247.htm#BGBEBIEA">"PowerBuilder runtime files"</A></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6808"></A>PowerBuilder client application accessing
data on a database server</td>
<td  rowspan="1"  ><A NAME="TI6809"></A> <A HREF="apptechp248.htm#BAJIGDCH">"Database connections"</A></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6810"></A>PowerBuilder clients for EJBs, SOAP Web
services, and XML services </td>
<td  rowspan="1"  ><A NAME="TI6811"></A><A HREF="apptechp250.htm#BAJHJBBB">"PowerBuilder extensions"</A></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6812"></A>PowerBuilder clients that save data in
PDF or XSL-FO format</td>
<td  rowspan="1"  ><A NAME="TI6813"></A><A HREF="apptechp251.htm#BAJIEEAF">"PDF and XSL-FO export"</A></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6814"></A>Web application using the DataWindow
Web control for ActiveX</td>
<td  rowspan="1"  ><A NAME="TI6815"></A><A HREF="apptechp252.htm#BGBBGBEI">"DataWindow Web control for
ActiveX"</A></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6816"></A><ABBR title = "e a server" >EAServer</ABBR> component
created in PowerBuilder</td>
<td  rowspan="1"  ><A NAME="TI6817"></A><A HREF="apptechp253.htm#BGBBJEIE">"PowerBuilder components
on <ABBR title = "e a server" >EAServer</ABBR> "</A></td>
</tr>
<tr><td  rowspan="1"  ><A NAME="TI6818"></A>Web application using Web DataWindow
with <ABBR title = "e a server" >EAServer</ABBR></td>
<td  rowspan="1"  ><A NAME="TI6819"></A><A HREF="apptechp254.htm#BGBDCDAA">"Files required on the transaction
server"</A><A NAME="TI6820"></A><p><A HREF="apptechp254.htm#BGBBBEBJ">"Files required on the dynamic
page server"</A></p></td>
</tr>
</table>
<A NAME="TI6821"></A><h4>Installed and deployment paths</h4>
<A NAME="TI6822"></A><p>The <i>Installed path</i> listed after some
of the tables in this chapter is the location where files are installed
when you install PowerBuilder and select the default installation
location. When you build an installation program for your application,
you can copy files from this location to your staging area.</p>
<A NAME="TI6823"></A><p>The <i>Deployment path</i> tells you where these
files can be installed on the computer on which you install your
application or component. </p>
<A NAME="BGBCIHAF"></A><h4>App Path registry key</h4>
<A NAME="TI6824"></A><p>Some tables are followed by a list of the <i>Registry
entries</i> your installation program needs to make so that
your application or component can find the files it needs. When
an application runs on Windows, it looks for supporting files in these
locations and in this order:<A NAME="TI6825"></A>
<ol>
</li>
<li class=ds>The
directory where the executable file is installed.</li>
<li class=ds>The Windows system and Windows directories (for
example, in <i>C:\WINDOWS\system32</i>, <i>C:\WINDOWS\system</i>,
and <i>C:\WINDOWS</i>).</li>
<li class=ds>In an application path that can be specified in
the registry.</li>
<li class=ds>In the system path.
</li>
</ol>
</p>
<A NAME="TI6826"></A><p>You do not need to specify an application path, but it is
recommended. </p>
<A NAME="TI6827"></A><h4>Specifying an application path</h4>
<A NAME="TI6828"></A><p>To specify the path the application uses to locate supporting
files, your installation program should create an App Path key for
your application in this registry location:<p><PRE>HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\<br>     CurrentVersion\App Paths </PRE></p>
</p>
<A NAME="TI6829"></A><p>Set the data value of the (Default) string value to the directory
where the application is installed and create a new string value
called Path that specifies the location of shared files. The following
example shows a typical registry entry for an application called <i>myapp.exe</i> that
uses SQL Anywhere. The registry key is enclosed in square brackets
and is followed by string values for the key in the format <FONT FACE="Courier New">"<i>Name</i>"="<i>Value</i>"</FONT>:<p><PRE> [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\<br>   CurrentVersion\App Paths\myapp.exe]<br>"Default"="C:\Program Files\myapps\myapp.exe"<br>"Path"="C:\Program Files\myapps;C:\Program Files\<br>   sybase\shared\PowerBuilder;c:\program files\<br>   SQL Anywhere 11\win32\;"</PRE></p>
<p><img src="images/note.gif" width=17 height=17 border=0 align="bottom" alt="Note"> <span class=shaded>About REG files</span> <A NAME="TI6830"></A>Registry update files that have a .<i>REG</i> extension
can be used to import information into the registry. The format
used in registry key examples in this chapter is similar to the
format used in registry update files, but these examples are <i>not
intended</i> to be used as update files. The path names in
data value strings in registry update files typically use a pair
of backslashes instead of a single backslash, and the "Default" string
value is represented by the at sign (@).</p>
<A NAME="TI6831"></A>Use the examples to help determine which registry keys your
installation program should add or update.</p>
<A NAME="CFHCJDAG"></A><h4>Deploying ActiveX controls</h4>
<A NAME="TI6832"></A><p>If your application uses ActiveX controls, OLE controls, or
OCX controls, you must:<A NAME="TI6833"></A>
<ul>
<li class=fi>Deploy the control files with your application</li>
<li class=ds>Make sure each control is registered</li>
<li class=ds>Make sure required files are in the target computer's
system directory
</li>
</ul>
</p>
<A NAME="TI6834"></A><p>If your application uses a control that is not self registering,
your setup program needs to register it manually on each user's
computer. To find out whether a control is self registering, see
the documentation provided with the control. Depending on the development
and deployment platforms and the controls you are deploying, you
might need to copy additional DLLs or license files to the Windows<i></i> system
directories on the target computer.</p>

